package org.lib.data.user.service;

import org.lib.data.user.api.dto.AddUserDTO;
import org.lib.data.user.api.dto.UpdateUserDTO;
import org.lib.data.user.entity.User;

/**
 * 用户服务接口
 * @author ben
 * @date 2021-08-30 21:58:42 CST
 */
public interface UserService {

	/**
	 * 添加用户
	 * @author ben
	 * @date 2021-08-30 21:58:19 CST
	 * @param dto 
	 * @return
	 */
	Long addUser(AddUserDTO dto);
	
	/**
	 * 根据ID获取用户
	 * @author ben
	 * @date 2021-09-02 15:34:00 CST
	 * @param id
	 * @return 没有找到时，返回null
	 */
	User getById(Long id);

	/**
	 * 根据ID删除用户
	 * @author ben
	 * @date 2021-09-02 15:34:28 CST
	 * @param id
	 * @return 返回对于id的用户是否存在——不存在、已删除（成功），都返回false
	 */
	Boolean delById(Long id);
	
	User getByEmail(String email);
	
	User getByPhone(String phone);

	/**
	 * 根据id更新用户信息
	 * @author ben
	 * @date 2021-09-02 22:37:02 CST
	 * @param dto
	 * @return
	 */
	User updateUser(UpdateUserDTO dto);
	
}
